GetVSCodeProcessIDs(actIndex) {
    ; 使用WinGet获取所有VSCode窗口的列表
    WinGet, idList, List, ahk_exe Code.exe
    arrList:=[]
    Loop, %idList%
    {
      this_id := idList%A_Index%
      WinGetTitle, Title, ahk_id %this_id%
      ;在这里排除一些没有win 名字的窗口
      if (Title) {
        arrList.Push(this_id)
        ; WinGetTitle, this_class, ahk_id %this_id%
        WinGet, pid , PID, ahk_id %this_id%
        MsgBox, pid %pid% ahk_id %this_id%
      }
    }
    len:=arrList.MaxIndex()
    result := "Array elements:`n"
    Loop, % arrList.MaxIndex()
    {
        i:=1
        curTime:=len-A_Index
        Loop % curTime
        {
            if (arrList[i] > arrList[i + 1])
            {
                ; 交换数组中相邻两个元素的位置
                temp := arrList[i]
                arrList[i] := arrList[i + 1]
                arrList[i + 1] := temp
            }
          i+=1
        }
    }
    Loop, % arrList.MaxIndex()
    {
        result := result . arrList[A_Index] . "`n"
    }
    ; MsgBox, % result
    firstValue := arrList[actIndex]
    ; MsgBox, activceWillbe %firstValue% activeIndex %actIndex%
    ; WinActivate, ahk_id %firstValue%
    ; MsgBox, Window actId: %useAct%
}
return
RAlt & q::
{
  GetVSCodeProcessIDs(1)
}
return
RAlt & w::
{
  GetVSCodeProcessIDs(2)
}
return
RAlt & e::
{
  GetVSCodeProcessIDs(3)
}
return
RAlt & r::
{
  GetVSCodeProcessIDs(4)
}
return
RAlt & t::
{
  GetVSCodeProcessIDs(5)
}
return